Micron Document




RISC-V
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
RISC-V (se prononçant « RISC cinq ») est une architecture de jeu d'instructions (instruction set architecture (ISA) en anglais) RISC ouverte et libre, disponible en versions 32, 64 et 128 bits. Ses spécifications sont ouvertes et peuvent être utilisées librement par l'enseignement, la recherche et l'industrie. Les spécifications sont ratifiées de façon ouverte par la communauté internationale des développeurscite-ref-elecweek15newspec-1-0[1].

RISC-V est implémenté dans différents SoC à destination des objets connectés (supportés par différents systèmes temps réel ou à destination de l'embarqué, tels que Arduino, FreeRTOS, HarmonyOS, LiteOS, NuttX, RT-Thread, RustOS, Zephyr…), d'ordinateurs légers sous forme de SBC, généralement avec Linux (Arch Linux, Debian, Fedora, Gentoo, Ubuntu) ou encore des variantes d'OpenWrt, ainsi qu'Haiku, FreeBSD, NetBSD et OpenBSD. Xv6, un UNIX conçu à des fins pédagogiques pour les étudiants en développement système fonctionne également sur cette architecture. Il est également utilisé dans différents projets de supercalculateurs domestiques tel que dans un projet européen initié en 2019, l'utilisant pour ses accélérateurs au sein de SoC basse consommation développés localement et fonctionnant sous GNU/Linux, comme la grande majorité des supercalculateurs. Des projets similaires existent en Inde, au Pakistan ou encore en Chine, comme celui développé par l'Académie chinoise des sciences et différentes universités.

Contents

GPU
FPGA
SBC

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Motivations

Ce projet, créé initialement au sein de la division informatique de l'Université de Californie à Berkeley aux États-Unis, avait d'abord une visée d'étude et de recherche mais est devenu de facto un standard d'architecture ouverte dans l'industrie.

Le but de ce projet est de faire un standard ouvert de jeu d'instructions pour microprocesseur, à l'image du standard TCP/IP pour les réseaux ou d'UNIX pour les systèmes d'exploitations, l'architecture des processeurs étant pour le moment toujours fermée, restreignant les progrès, les implémentations ou le support dans les systèmes d'exploitationcite-ref-2[2].

Historique

La conception du processeur commence en 2010 à l'université de Californie Berkeley, dans le but de développer un processeur avec les connaissances du XXIe siècle, n'ayant pas à traîner le fardeau de la compatibilité avec des architectures vieilles de 20 ans, comme ARM ou l'architecture x86 d'Intel et en voulant par la même occasion que l'architecture de jeu d'instructions du processeur (ISA de l'anglais instruction set architecture) reste ouvertecite-ref-history-3-0[3].

En 2014, la version 2.0 des spécifications est publiée, plusieurs industriels importants[Lesquels ?] sont intéressés par le projet cite-ref-history-3-1[3].

En 2015, la fondation RISC‑V est créée avec plus de 100 membres, avec un directoire composé d'entreprises comme Google, Nvidia, Western Digital, NXP Semiconductors, Microsemi, Cortus et Bluespec, ainsi que des représentants de l'Université de Berkeley. Depuis, des entreprises telles que AMD, Qualcomm, et IBM l'ont rejointcite-ref-history-3-2[3].

En 2016, Nvidia prévoit d'utiliser un microcontrôleur RISC-V pour ses GPU et pense ainsi multiplier par 3 ses performances par rapport à son propre microcontrôleur, Falconcite-ref-nvidia-risc-v-4-0[4]cite-ref-history-3-3[3]. Le Falcon est également un processeur d'architecture RISC, mais avec adressage limité à 32 bits et pas de protection de threads et avec ses limitations. Nvidia désire donc le remplacer par la version 64 bits de RISC-V, bénéficiant ainsi d'un adressage 64 bits, des corrections d'erreur, d'un jeu d'instructions extensible et d'une amélioration de la sécuritécite-ref-5[5].

En 2017, la version 2.2 des spécifications est publiée. Mozilla annonce que son langage Rust peut être compilé vers l'architecture RISC‑V. Le fabricant de disques durs Western Digital annonce qu'il va livrer des milliards de ses équipements équipés d'un contrôleur à architecture RISC‑Vcite-ref-history-3-4[3].

Le 9 juillet 2018, une partie de la direction de la société ARM décide de faire un site nommé « riscv-basics.com » contre RISC‑V, sentant son marché menacé, notamment parce qu'une partie importante de ses plus gros clients commence également à développer des solutions basées sur RISC‑V. Cette action met en colère le personnel technique de la société qui y voit une attaque contre le mouvement open-source. Cela a également pour effet de faire connaître un peu plus RISC‑V et de faire davantage comprendre qu'il s'agissait d'une alternative viable. Dès le lendemain, le 10 juillet 2018, la direction d'ARM décide finalement de fermer le sitecite-ref-6[6]cite-ref-7[7].

En 2019, le gouvernement américain de Donald Trump met la pression sur les fondeurs de micro-électronique, tel que le taïwanais TSMC, le plus important au monde, pour qu'ils déménagent leurs activités sur le sol américain, ce que ce dernier refusecite-ref-8[8], tout en menaçant ceux qui continueraient de travailler avec les entreprises chinoises telles que Huaweicite-ref-risc-v-move-9-0[9]. À la suite des risques politiques de ces pressions, la Fondation décide de s'implanter dans un pays neutre : la Suissecite-ref-10[10]cite-ref-risc-v-move-9-1[9]cite-ref-nvidia-risc-v-4-1[4].

En octobre 2019, Nvidia cherche des spécialistes RISC-V pour l'intégrer comme processeur au sein de ses SoC Tegracite-ref-nvidia-risc-v-4-2[4].

En octobre 2020, Huawei sort ses nouveaux microcontrôleurs maison à base de RISC‑V, ainsi que les kits de développement matériel et logiciel correspondantscite-ref-cnxhuawei-riscvkit-11-0[11].

En juillet 2021, Haiku est porté sur RISC-V ; gel des fonctionnalités de Debian Bullseye en vue de la sortie de la première version de la distribution à supporter officiellement RISC-V. Le pilote graphique AMDGPU pour Linux est porté sur l'architecturecite-ref-12[12].

En décembre 2021, RISC-V ratifie 15 nouvelles spécifications jusqu'alors à l'état de brouillon (draft), ajoutant en tout 40 nouvelles extensions optionnelles, dont les extensions vectorielles ou de chiffrement standardcite-ref-13[13]cite-ref-elecweek15newspec-1-1[1].

Toujours en décembre 2021, Starfive annonce un cœur nommé Dubhe RV64GCBVH, à 2 GHz, gravé en processus TSMC 12 nm avec les extensions Vecteur et Hyperviseur. L'extension vectorielle supporte un VLEN de 128 à 1024 bits et l'ALU comporte un chemin de données de 128 ou 256 bits. De son côté l'Académie des sciences de Chine annonce son deuxième processeur, le XiangShan Nanhu RV64GC gravé en 14 nm, 11 étapes, superscalaire et out-of-order. La conception du cache de niveau 2 et 3 est inspirée par le cache par bloc inclusif de SiFivecite-ref-14[14].

En avril 2023, la carte de StarFive Tech, VisionFive2 est équipée d'un SoC JH7110 basé sur des cœurs SiFive et comportant un quadruple cœur RV64GC à 1,5 GHz, c'est le premier SoC comportant un GPU 3D PowerVR intégré, il comporte également un GPU2D Vivantecite-ref-15[15]. Au mois de mai, Sipeed lui emboîte le pas avec la carte Lichee Pi 4A basée sur un plus puissant T-Head TH1520, utilisant 4 cœurs T-Head C910 plus puissant ainsi que d'autres cœurs RISC-V pour le traitement du signal et d'autres tâches, et comportant également un GPU 3D PowerVR plus puissant et un GPU 2D Vivantecite-ref-16[16]cite-ref-17[17]. BeagleBoard, sort ensuite en juillet la BeagleV-Ahead également équipée du TH1520cite-ref-18[18].

Les deux SoC sont dans les mois qui suivent intégrés au noyau Linux, en ce qui concerne le boot, et les différents éléments de base (mémoire, réseau, eMMC), à l'exception de la sortie HDMI et du GPU 3D. Un début de pilote DRM pour le GPU 2D Vivante est intégré au noyaucite-ref-19[19].

SOPHGO sort le SoC CV1812H, basé sur deux cœurs XuanTie C906. Le processus d'intégration au noyau mainline commence en octobre 2023cite-ref-20[20].

En mai 2023, Ubuntu annonce supporter la VisionFive2cite-ref-21[21].

En octobre 2023, le Kendryte K230 est le premier processeur à sortir équipé de l'extension vectorielle en version 1.0cite-ref-22[22].

En novembre 2023, David Chen, directeur de l'écosystème d'Alibaba, déclare, lors du RISC-V Summit à Santa Clara, en Californie, que le premier cloud commercial basé sur des processeurs RISC-V a fini d'être déployé à l'Université du ShandongJinan), en Chine, durant les deux mois précédents. Le système utilise un total de 3 072 cœurs RISC-V 64 bits, répartis sur 48 nœuds. Des SoCs Sophgo SG2042 cadencés à 2 GHz et comportant 64 Mio de cache sont utilisés. Le système utilise des interfaces PCIe de 4e génération. Alibaba annonce également avoir conclu en octobre un partenariat avec Google pour finaliser le portage du système Android sur RISC-V, le plus gros du travail de portage ayant été fait par Alibaba depuis 2020cite-ref-23[23]. Le même jour, les développeurs de l'European Processor Initiative, annoncent avoir produit avec succès l'EPAC en version 1.5 de leur processeur sous forme d'ASIC, fruit de la coopération de trente institutions de dix pays. Trois approches ont été d'abord proposées, un processeur général avec des unités vectorielles dédiées (VPU), des accélérateurs d'apprentissage (machine learning) comportant de nombreux cœurs (type many-core), appelé STX) et un processeur général gérant de la précision variable (appelé VRP). La version 1.5 est composée de micro-tuiles de type VPU, utilisant des cœurs RISC-V « Avispado » conçus par Semidynamics et l'unité de processeur vectoriel conçue par le centre de supercalculs de Barcelone et l'Université de Zagrebcite-ref-24[24]. La société espagnole Semidynamics avait annoncé en avril la disponibilité de ses cœurs, et qu'ils pouvaient supporter des gravures allant jusqu'à des finesses de l'ordre de 5 nmcite-ref-25[25].

Spécifications

RISC-V implémente un jeu d'instructions RISC, sans microcode ni surcouche d'architecture, du type exécution dans le désordre ou dans l'ordre, ou bien le support d'un type de matériel en particulier (ASIC, FPGA…), mais ceux-ci peuvent être implémentés avec toutes leurs fonctions.

• révision 2008 de la norme IEEE-754 pour l'unité de calcul en virgule flottante (FPU).
• Adressage 32, 64 ou 128 bits.
• Possibilité pour chaque implémentation d'apporter des instructions étendues.
• Support d'implémentation multicœurs hautement parallèles et d'architecture multiprocesseurs hétérogènes.
• Instructions de longueur variable en option, permettant à la fois d'augmenter l'espace d'encodage des instructions disponibles, mais également de rendre les instructions plus denses afin d'améliorer les performances, de réduire la taille du code statique et d'augmenter l’efficacité énergétique.
• Une architecture complètement virtualisable pour faciliter le développement d'hyperviseur.

Des chercheurs de l'Université de Californie à Berkeley ont également développé une version appelée BOOM, ajoutant une gestion d'exécution dans le désordre des instructions, dans le modèle RV64Gcite-ref-26[26].

Une interface entre l'environnement d'exécution superviseur (anglais : Supervisor Execution Environment, SEE), et le superviseur est normée sous l'appellation SBI (anglais : Supervisor Binary Interface) ou RISC-V SBIcite-ref-27[27]. L'implémentation en logiciel libre, OpenSBI en est l'implémentation de référence développé par Western Digital et des participants à la fondation RISC-Vcite-ref-28[28].

Nomenclature des extensions

Le nom du processeur a une signification :

• La base est constituée de RV (pour RISC-V), puis de 32, 64 ou 128, selon le nombre de bits, et enfin, d'un I ou d'un E (embedded, c'est-à-dire embarqué)cite-ref-cnx-rvexplained-29-0[29].

Les noms de bases possibles sont donc :

• RV32I
• RV32E (embarqué)
• RV64I
• RV128I

Premières extensions

Le nom du processeur est suivi d'une ou plusieurs lettres décrivant les extensions qui sont ajoutées à la basecite-ref-cnx-rvexplained-29-1[29] :

• M – Extension standard de multiplications et divisions entières ;
• A – Extension standard d'instructions atomiques ;
• F – Extension standard de virgule flottante simple précision (32 bits) ;
• D – Extension standard de virgule flottante double précision (64 bits) ;
• G – Général, raccourci pour les instructions de base, et les jeux d'instructions ci-dessus, c'est-à-dire, M,A,F,D)
• Q – Extension standard de virgule flottante quadruple précision (128 bits) ;
• L – Extension standard de virgule flottante, décimal ;
• C – Extension standard d'instructions compressées ;
• B – Extension standard de manipulations de bits ;
• J – Extension standard de langages traduits dynamiquement (Compilation à la volée, Just in time ou JIT), cela concerne les langages tels que C#, Haskell, Java, JavaScript, Lua, OCaml, PHP, Python, R, Ruby, Scala, WebAssembly, etc ;
• T – Extension standard de mémoire transactionnelle ;
• P – Extension standard d'instructions SIMD compactées (Packed SIMD) ;
• V – Extension standard d'opérations vectorielles ;
• N – Extension standard d'interruptions utilisateur ;
• S – Extension standard de Superviseur ;
• H – Extension standard d'Hyperviseur, comporte des instructions similaires à S mais commençant par un Hcite-ref-watermanasanovi-2019151-30-0[30].

Extensions avancées

Ces extensions ont été ratifiées ultérieurement aux spécifications 1.0 de l'architecture. Les noms sont plus complexes mais plus préciscite-ref-31[31] :

• Zbb – Manipulation de bits
• Zihintpause — Indice de Pause (février 2021)
• Zfinx, Zdinx, Zhinx, Zhinxmin — Nombres à virgule flottante dans des registres d'entiers (novembre 2021)
• Zfh, Zfhmin — nombres flottants à demi-précision (novembre 2021)
• Sm1p12, Ss1p12, Sv57, Hypervisor, Svinval, Svnapot, Svpbmt — extension d'architecture privilégiée (novembre 2021)
• Zve32x, Zve32f, Zve64x, Zve64f, Zve64d, Zve, Zvl32b, Zvl64b, Zvl128b, Zvl256b, Zvl512b, Zvl1024b, Zvl, Zv (version 1.0 des spécifications de l'extension vectorielle, novembre 2021, remplaçant la version 0.7.1)
• Sstc — « stimecmp / vstimecmp », interruption de minuteur pour le mode Superviseur via un CSR propre à ce mode (novembre 2021)
• Smstateen — Extension d'état actif (novembre 2021)
• Zbkb, Zbkc, Zbkx, Zknd, Zkne, Zknh, Zksed, Zksh, Zkn, Zks, Zkt, Zk, Zkr — extension cryptographique, instruction de scalaires et de source d'entropie (novembre 2021)
• Sscofpmf — compteur de dépassement et filtrage basé sur le mode (novembre 2021)
• Zba, Zbb, Zbc, Zbs — manipulation de bits (novembre 2021)
• Zicbom, Zicbop, Zicboz — opération de cache de base de l'ISA (novembre 2021)
• Smepmp — Améliorations des accès mémoires et de la prévention d'exécution en fonction du mode machine (novembre 2021)
• Zmmul — (juin 2022)
• Zawrs — Attente sur un réglage par réservation (novembre 2022)
• Ztso — Tri du stockage total (janvier 2023)
• RV32E/RV64E – jeu d'instructions des entier de base (janvier 2023)

ISA 32 bits de base

Le jeu d'instructions de base est composé de 47 instructions, dont huit instructions systèmes (appels systèmes, compteurs d'exécution), le reste étant réparti dans les catégories calcul, contrôle de flux et accès mémoirecite-ref-introdzone-32-0[32].

La version RV32I comporte 32 registres généraux 32 bits, tandis que la version RV32E (embarqué, embedded) ne comporte que 16 registres généraux 32 bits. Les deux comportent en plus un registre PCcite-ref-33[33].

Instructions de calcul

Toutes les instructions de calcul utilisent trois opérandes, sauf lui et auipc qui n'en ont que deux (un registre destination et une valeur immédiate). Le premier opérande est le registre de destination, le second le registre source et le troisième, soit un second registre, soit une valeur immédiate (précisé par un i dans le mnémonique de l'instruction, sauf auipc ayant un autre sens)cite-ref-introdzone-32-1[32] (Les instructions de multiplication et division entières sont contenues dans l'extension M) :

add, addi, sub : addition et soustraction. Pour la soustraction d'une valeur immédiate, on utilise addi avec une valeur immédiate négative.
sll, slli, srl, srli, sra, srai : décalage bit à bit (shift) + gauche/droite (left/right), logique (logical) ou arithmétique (arithmetic).
and, andi, or, ori, xor, xori : opérations logiques bit à bit comprenant et (and), ou (or) et ou exclusif (xor).
slt, slti, sltu, sltui, (set if less than) met le registre de destination à 1 si le premier opérande source est égal ou inférieur au second. Le u signifiant non-signé (unsigned). Les opérandes immédiats sont limités à 12 bits.
lui, charge la partie immédiate de poids fort (load upper immediate), i.e. les bits 12 à 31 du registre de destination avec une valeur immédiate sur 20 bits. Il faut utiliser addi avec une valeur immédiate de 12 bits, pour compléter la valeur.
auipc ajoute la valeur immédiate au 20 bits de poids forts du compteur ordinal (PC), il faut également utiliser addi pour les 12 bits de poids faible

Contrôle de flux

Instruction de branchement conditionnelscite-ref-introdzone-32-2[32] :

beq, bne, blt, bltu, bge, bgeu, instruction de branchement (branch) conditionnel à deux opérateurs, égal (equal), différent (not equal), plus petit (less than), plus grand ou égal (greater or equal), signé (par défaut) ou non (unsigned).

Branchements inconditionnelscite-ref-introdzone-32-3[32] :

jal (jump and link), passe le contrôle à l'adresse du PC à laquelle est ajoutée la valeur immédiate 20 bits signée fournie. Ajoute l'adresse de l'instruction suivante (adresse de retour à la fin de la fonction appelée) dans le registre de destination.
jalr (jump and link, register), l'adresse du saut est calculée par l'addition du registre source et de la valeur immédiate sur 12 bits, et l'adresse de l'instruction est chargée dans le registre de destination. Si cette instruction est précédée d'une commande auipc, le saut peut être effectué dans l’entièreté de l'espace mémoire 32 bits.

Accès mémoire

Les instructions d'accès mémoire servent à transférer des données entre un registre et la mémoire. Le premier opérande est le registre, le second un registre contenant l'adresse, le troisième une valeur immédiate sur 12 bits signée ajoutée au contenu du registre utilisé pour l'adressage, afin de déterminer l'adresse finalecite-ref-introdzone-32-4[32] :

lb, lbu, lh, lhu, lw, chargement (load) d'un octet (byte), demi-mot (half-word, 16 bits), ou mot (word, 32 bits) de la mémoire vers un registre de destination. Les instructions sont étendues par le signe (défaut) ou par des zéros (unsigned).
sb, sh, sw, stockage (store), un octet (byte), demi-mot (half-word, 16 bits), ou mot (word, 32 bits) vers la mémoire.
fence, force l'ordonnancement de l'accès à la mémoire dans un contexte multithread, en assurant notamment la cohérence des caches.
fence.i, permet de s'assurer que les opérations depuis stockage vers les mémoires d'instructions (par exemple cache instruction) soient terminées avant leur exécution. Elle est principalement utilisée dans le cas de code automodifié.

Instructions système

Une instruction sert à invoquer un appel système et un autre initialise un point d'arrêt pour le débogueurcite-ref-introdzone-32-5[32] :

ecall, appel système
break, ajout d'un point d'arrêt.

Six instructions servent à lire et écrire dans les registres de contrôle et statut du système (control and status registers CSR). Le registre CSR est lu dans un registre général, puis mis à jour de façon atomiquecite-ref-introdzone-32-6[32] :

csrrw, csrrwi, csrrc, csrrci, csrrs, csrrsi,

Les 6 registres CSR 32 bits suivants (correspondant à 3 valeurs 64 bits, de compteurs d’exécution) sont définis en lecture seule cite-ref-introdzone-32-7[32] :

cycle, cycleh, compteur de cycles d'horloges passés depuis un temps de référence. Ce temps peut varier si le mode de changement de fréquence ou de tension dynamique (dynamic voltage and frequency scaling (DVFS)) est actif ;
time, timeh, compteur de temps-réel passé depuis un temps de référence (typiquement, démarrage du système) ;
instret, instreth, compteur d'instructions processeur exécutées (instruction retired).

ISA 64 bits de base

L'ISA 64 bits étend les registres et l'espace l'adressage de 32 bits à 64 bits (XLEN=64). Les instructions comportant le suffixe W (anglais : Word, signifiant mot), indique que leur action est limité à un mot (32 bits) et ne se préoccupe pas des 32 bits supérieurs des entrées. Le bit de signature est déplacé vers le 64e bit (bit 63) des registres, il est donc important d'utiliser les fonctions spécialisées lors d'utilisation de données 32 bitscite-ref-rv64isa-34-0[34].

Cela a aussi des implications sur les opérations immédiates. Par exemple, l'opération d'addition immédiate addi utilisant une valeur immédiate de 12 bits, addiw ignore les dépassements des 32 bits et place le bit de signe sur le bit 63 des registrescite-ref-rv64isa-34-1[34].

ISA 128 bits de base

ISA RV32E de base

L'ISA RISC-V RV32E est indentique à RV32I, mais ne comporte que 16 registres (x0 à x15, avec x0 toujours égal à 0), au lieu de 32cite-ref-35[35].

Extension vectorielle

L'extension vectorielle (V) n'est pas un SIMD, mais un processeur vectoriel. Elle comporte trois variables, ELEN (nombre de bits d'un élément), VLEN (nombre de bits d'un vecteur) et SLEN (distance de (stripping) entre deux éléments) qui doivent tous trois être une puissance de 2cite-ref-vector-extension-36-0[36].

Elle comporte 32 registres de vecteurs nommés de v0 à v31, qu'il est possible de grouper par deux, dans ce qui est appelé groupe de registre de vecteur (vector register group) pour améliorer la précision ou bien améliorer les performances. Il y a également six registres de contrôle et statut (en) (CSR) (vstart, vxsat, vxrm, vtype, vl, vlenb) cite-ref-vector-extension-36-1[36].

GPU

GPU RV64X

Un groupe de travail propose, en janvier 2021, une extension GPU appelée RV64X basée notamment sur l'extension de processeur vectoriel et le format VBlock proposé par le projet Libre GPU pouvant être implémenté en ASIC ou FPGA. La première version a pour objectif d'utiliser un pilote compatible avec l'API Vulkan de Khronos pour, plus tard, supporter OpenGL et Direct3D. Il devrait également s'adresser, dans un premier temps, au domaine de l'embarqué. Les contraintes fixées sontcite-ref-37[37] :

• Instruction 64 bits ;
• Support des fonctions complexes sin, cos, atan, pow, exp, log, rcp, rsq, sqrt, etc.
• Des vecteurs supportant 2 à 4 éléments en 8, 16 ou 32 bits ;
• Des matrices carrées 2 × 2, 3 × 3 et 4 × 4 ;
pixels aux formats 8, 16, 32 et 64 bits ;
• Les points en 4 dimensions XYZW, 64 ou 128 bits ;
• Les pixels en 4 composantes RVBA, avec 8, 16, 24 ou 32 bits par composante ;
• Les texels ont 3 composantes UVW, en 8 ou 16 bits ;
• Support de variables de lumière, Ia, ka, Id, kd, Is, ks…

NEOX

En décembre 2019, la société Think Sillicon a proposé un GPU basé sur l'architecture RISC-Vcite-ref-38[38].

Vortex

Vortex est un GPGPU open source libre offrant une compatibilité OpenCL et OpenGL. Les développeurs ont modifié le code de la bibliothèque PoCL pour le support des instructions RISC-V et Vortex d'OpenCLcite-ref-tine-al2021vortex-39-0[39].

Autre GPU basé sur RISC-V, avorté

En 2018, le projet Kazan ou Libre RISC-V avait pour objectif de développer un GPU basé sur RISC-V. En 2020, en raison de différents désaccords avec le fonctionnement de la fondation RISC-V, les auteurs du projet se réorientent vers une architecture OpenPower, version ouverte de Power, l'architecture RISC des années 1990 d'IBMcite-ref-40[40]. Les auteurs se tournent finalement vers la création d'une extension de processeur vectoriel appelée SV pour l'architecture Power, proche de l'extension V de RISC-V, plutôt que le développement d'un GPU.

GPU fermés

Différents SoC RISC-V, tels que le StarFive JH7110 et le T-Head TH1520, intègrent tous deux des GPU 2D Verisilicon de Vivante et des GPU 3D PowerVR d'Imagination Technologies. Ces cores graphiques sont fermés, mais Vivente et Imagination Technologies œuvrent tous deux à l'intégration des pilotes DRM dans la branche Linux mainline, et IT PowerVR à l'intégration du pilote3D dans la partie Vulkan de Mesa ; le convertisseur à la volée OpenGL vers Vulkan permettra d'apporter la compatibilité OpenGL avec les performances accrues de Vulkan.

Support logiciel

Une série d'outils libres est proposée pour le développement sur cette architecture, incluant la compatibilité des compilateurs GCC et LLVM (donc Clang), le support du débogueur GDB, ainsi que de l'hyperviseur et émulateur QEMUcite-ref-41[41]. Le langage Rust supporte RISC-V depuis novembre 2017cite-ref-42[42]cite-ref-43[43].

Au niveau assembleur, GNU Assembler supporte les architectures RISC-V 32 et 64 bits (assembleur, désassembleur), et riscv-assembler est un assembleur en Python.

BronzeBeardcite-ref-44[44] est un assembleur RV32IMAC écrit en Python liant le programme assemblé à une bibliothèque minimaliste, afin de fournir un système de type bare metal. Il a d'abord été testé sur les cartes de Sipeed, Longan Nano et Wio Lite, et leur processeur GigaDevice GD32V en raison de la possibilité d'accéder facilement à ce type de matériel avec son écran pour moins de 10 €. L'auteur prévoit de le porter également vers l'HiFive1 Rev Bcite-ref-45[45]. Le même auteur a également produit un interpréteur Forth bare metal pour RISC-Vcite-ref-46[46].

Cette architecture est supportée en janvier 2016 par le noyau Linux via un ensemble de patchs ainsi que par FreeBSDcite-ref-47[47]. Son intégration dans le tronc commun stable de Linux est effective depuis la version 4.15, avec un support plus étendu depuis la version 4.17.

Le langage de script MicroPython, version adaptée aux microcontrôleurs de Python, a été porté en 2017 par Microsemi sur architecture RISC-Vcite-ref-48[48].

Arduino fonctionne sur les microcontrôleurs GD32V de GigaDevice. Il peut utiliser pour cela le système temps réel RT-Thread et l'interface graphique RTT-GUI d'Arduinocite-ref-arduinolib-49-0[49].

Le système temps réel Zephyr fonctionne également sur les processeurs RISC-V, notamment sur son émulation par Qemu et sur différentes implémentations matériellescite-ref-50[50].

La version minimum de Rust à destination de l'embarqué (Minimum Supported Rust Version (MSRV)) est portée sur RISC-V, par la communauté de rust-embeddedcite-ref-51[51]. Le système RustOS, basé sur un noyau rCore, une version Rust de uCore OS Plus fonctionne sur l'implémentation Qemu de RISC-V et sur les systèmes HiFive Unleashed, et est utilisé à l'université Tsinghua pour les cours de système d'exploitationcite-ref-52[52]

La société UltraSOC développe « Tessent Embedded Analytics » une solution d'analyse et de traçage sur RISC-V, pour les solutions propriétaires ou ouvertes. Elle est rachetée par le groupe Siemens et continue cette activité au sein du groupecite-ref-53[53].

Cette architecture est supportée par les systèmes d'exploitation pour internet des objets, LiteOS (licence BSD) et pour plateformes mobiles HarmonyOS de Huaweicite-ref-cnxhuawei-riscvkit-11-1[11].

Le logiciel d'aide à la découverte de failles de sécurité, afin de pouvoir les exploitercite-ref-54[54], du service de renseignement des États-Unis, NSA, Ghidra, supporte le format binaire de cette architecturecite-ref-55[55].

En janvier 2020, Alibaba fait une démonstration d'Android 10 porté par T-Head sur leur SoC ICE EVB comportant 2 cœurs RISC-V 64 bits XuanTie C910, un cœur vectoriel XuanTie C910V et un GPU Vivante GC8000ULcite-ref-56[56].

Le système XBoot est un système de boot en logiciel libre multi-plateforme, permettant également d'utiliser en bare-metal la majorité des périphériques standards du monde de l'embarqué. Il fonctionne entre autres sur les cartes à base du Soc AllWinner D1, basé sur le cœur RISC-V open-source T-Head C906.

Systèmes d'exploitations pour serveur et postes de bureau

Différentes distributions Linux sont disponibles, dont Debian Bullseye avec plus de 95 % des paquets portéscite-ref-57[57], Arch Linuxcite-ref-58[58], Fedoracite-ref-59[59], Ubuntucite-ref-60[60], Yoctocite-ref-61[61]. Les systèmes d'exploitation NetBSDcite-ref-mcgrewnelson2019-62-0[62], FreeBSDcite-ref-63[63], OpenBSDcite-ref-64[64] et Haikucite-ref-65[65] bootent également sur RISC-V. En Octobre 2021, Alpine Linux était en cours de portagecite-ref-66[66].

Linux et Haiku peuvent bénéficier de l'accélération des cartes graphiques AMD Radeon HD via le pilote libre Mesa qui est indépendant de l'architecture du processeurcite-ref-67[67]cite-ref-68[68].

Console de jeu

Sipeed propose en décembre 2023 la « Lichee Pocket 4A » première console de jeu basée sur l'architecture RISC-V. Il s'agit d'une console portable, basée sur le SoC TH1520 de T-Head, comme pour sa carte Lichee Pi4acite-ref-69[69].

Émulateurs logiciels

Il est possible de simuler ces architectures via différents émulateurs et hyperviseurs.

L'hyperviseur QEMU, ainsi que par ANGEL (un simulateur RISC-V en HTML5 et JavaScript) ou via les cartes ZedBoard et Zybo comportant des FPGA Xilinx Zynqcite-ref-riscv-fgpa-70-0[70]cite-ref-71[71]. L'émulation de RISC-V (32 et 64 bits) est supportée nativement dans Qemu à partir de la version 2.12.0 sortie le 24 avril 2018cite-ref-72[72]. La version 5.1 ajoute le support du choix du bios dans les argumentscite-ref-73[73].

TinyEMU de Fabrice Bellard (également auteur de QEMU et FFmpeg) est un émulateur léger RISC-V, il est utilisé pour le portage de Haiku (remake libre de BeOS)cite-ref-74[74]. Il est également utilisé dans BareDoom, un port de Doom sur RISC-V via Barebox, cette version de TinyEMU étant elle même recompilée en WebAssembly (WASM) pour fonctionner dans un navigateurcite-ref-75[75].

Juice-VM est un émulateur de machine virtuelle RISC-V RV64IMASU minimaliste, supportant MMU et entrées/sorties UART. Il permet de faire fonctionner FreeRTOS et également, sur des systèmes très limités en ressources, tels que les microcontrôleurs type ESP32 Xtensa double-cœur avec 8 Mo de PSRAM et 2 Mo de flash SPI, le noyau Linux 5.0 compilé pour architecture RISC-Vcite-ref-76[76]cite-ref-77[77].

RISC-V Rust est un émulateur RISC-V développé en langage Rust et fonctionnant en WebAssembly. Le but étant d'utiliser l'émulateur dans un navigateur. Les systèmes d'exploitation GNU/Linux et xv6-riscv fonctionnent dessuscite-ref-78[78].

Implémentations matérielles

Outils de développement

Wrap-V est un générateur de cœurs RISC-V, supportant également l'architecture MIPS en TL-Verilog (Transaction-Level Verilog) et passant par le processeur de macros M4. Il permet de développer des cœurs dont les pipelines comportent 1 à 7 niveaux. Il est possible de modifier la sortie M4 pour l'adapter à des besoins spécifiques. Il est également possible d'utiliser TL-Chiselcite-ref-79[79].

Implémentations libres

Le microprocesseur libre LowRISC, est un projet d'implémentation libre et ouverte de RISC-V, créé par Andrew Huang (du MIT, également auteur de la plate-forme ouverte Novena), Julius Baxter (projet OpenRISC et université de Cambridge), Michael B. Taylor (université de Californie à San Diego, UCSD Center for Dark Silicon), Dominic Rizzo (Google ATAP (en)), Krste Asanović (Université de Californie à Berkeley).

Le NEORV32 est une implémentation libre (licence BSD clause 3) d'un SoC, de type microcontrôleur pour FPGA écrit en VHDL, indépendant des plateformes. Il est compatible avec les spécifications 2.2 de RISC-V pour RV32 et passe le test de conformité. FreeRTOS a été porté sur ce SoCcite-ref-80[80]cite-ref-81[81]. Il se base sur le travail que les développeurs avaient fait pour le neo430, une implémentation d'un processeur FPGA de type microcontrôleur compatible avec le MSP430 de Texas Instrumentcite-ref-82[82]cite-ref-83[83].

Le PicoRV32 est une implémentation libre, sous licence ISC, supportant les jeux d'instructions RV32IMC dont le but est d'avoir la plus petite empreinte possible, avec selon les choix entre 750 et 2000 LUT et une fréquence maximum de 250 à 450 MHz. Il a pour finalité d'être un processeur auxiliaire sur FPGA ou ASIC. Il peut être configuré comme cœur RV32E, RV32I, RV32IC, RV32IM, ou RV32IMCcite-ref-84[84] (voir la section #Nomenclature des extensions).

HumingBird E203 et HumingBird E203v2 sont des implémentations open source sous licence Apache 2.0 en langage Verilogcite-ref-github-85-0[85]cite-ref-86[86] du Nuclei RISC-V isa de Nuclei System Technologycite-ref-87[87]. Ils équipent notamment le SoC à microcontrôleur GD32Vf103 de GigaDevice, utilisé notamment dans la carte Sipeed Longan Nanocite-ref-88[88].

Western Digital propose une gamme de cœurs nommés SweRV, open source, disponibles via CHIP Alliance. Ils ont aussi annoncé une coopération avec Codasip afin de proposer un support commercial de ces cœurscite-ref-89[89]. Ces processeurs hautes performances visent les domaines embarqués et supportent le jeu d’instruction RV32IMC. La famille SweRV se décline comme suit:

• Le Cœur superscalaire SweRV EH1 possède 2 files d'execution et est basé sur un pipeline de 9 étages.
• Le Cœur superscalaire multi-threadé SweRV EH2cite-ref-90[90] permet de gérer 2 threads simultanément avec 9 étages de pipeline.
• Le Cœur SweRV EL2 simple issue avec 4 étages de pipeline.

L'Académie chinoise des sciences a rendu public le processeur Xiangshan, sous licence libre (license Mulan v2, approuvé par l'OSI), le 11 juin 2021 sur Githubcite-ref-91[91]. Le processeur est développé en langage Chisel, qui d'après les développeurs comporte 5 fois moins de lignes de code qu'en Verilog et permet un développement plus rapidecite-ref-92[92]cite-ref-xiangshan-93-0[93]. Au moment de sa sortie, le processeur supporte la distribution Debian Bullseye pour RISC-V. Une première implémentation matérielle sort en juillet 2021, baptisée Yanqihu, gravée en 28nm et fréquencée entre 1.2 et 1.3 GHz, elle à des performances par GHz similaire aux ARM Cortex-A72 avec 7/Ghz SPEC CPU 2006. Une seconde version prévue pour l'automne de la même année appelée Nanhu, gravée en 14nm et fonctionnant à 2 GHz, devrait atteindre des performances par GHz similaires à un Intel i9-10900K (11.08/Ghz) avec 10/Ghz SPEC CPU 2006, et une puissance de calcul, à cette fréquence, comparable à celle d'un ARM Cortex-A76cite-ref-94[94]cite-ref-xiangshan-93-1[93].

En octobre 2021, Alibaba Group ouvre les cœurs de ses processeurs sous le nom d'T-Head OpenXuanTie. Cela couvre les SoC à destination de l'embarqué et pour serveurscite-ref-95[95]. Les sources en langage Verilog sont mis à disposition sur Github de T-Headcite-ref-96[96].

Implémentations RISC-V propriétaires

SiFive, une startup annonce en juillet 2016, le SiFive U5 Coreplex, utilisant l'architecture RISC-V et permettant d'implanter jusqu'à huit cœurs U54 par SoC, comprenant chacun du cache instruction et données de 1er niveau, le SoC contient un plus large cache de 2e niveau. Le but va être d'implémenter d'abord des versions pour du matériel très spécifique n'ayant pas besoin de beaucoup de puissance, mais de fonctions spécialisées dans un premier temps, pour pouvoir améliorer les technologies par la suitecite-ref-97[97].

En 2018, la startup SiFive, créée par des développeurs de RISC-V, présente au FOSDEM la carte HiFive Unleashed, comportant un processeur SiFive Freedom U540 SoC (4+1 cœurs RISC-V jusqu'à 1,5 GHz) et 8 Gio de RAM ECC, port ethernet Gb, et capable de faire tourner GNU/Linuxcite-ref-98[98].

Shakti est une initiative indienne de conceptions de différents processeurs basés sur l'architecture RISC-V et divisés en 6 séries : E-class pour l'embarqué, C-Class pour les microcontrôleurs, I-Class pour les microprocesseurs pour clients légers, M-Class pour la bureautique, S-Class pour les stations de travail et les serveurs, et enfin H-Class pour les super-calculateurscite-ref-99[99].

Codasip est la première société à avoir développé un cœur compatible RISC-V non-libre en janvier 2016 (Codix)cite-ref-100[100] et a poursuivi son offre avec des familles de cœurs pour l’embarqué et les domaines applicatifs. Les cœurs développés par Codasip sont écrits en CodAL, un langage de description d’architecture. L’outil Studio est utilisé pour obtenir les simulateurs ainsi que les fichiers nécessaires à l’implementation physique de ces cœurs. La famille L regroupe des cœurs 32-bits basse consommation, visant les domaines de l’embarqué, proposants en option une unité de calculs flottants. Cette famille se décline en 3 ou 5 étages de pipeline. La famille H regroupe des cœurs hautes performances 64-bits visant les domaines embarqués, propose en option une unité de calculs flottants. La famille A regroupe des cœurs 64-bits en mesure d’executer Linux, avec l’option de les augmenter de l'extension “P”. Ces cœurs ont 7 étages de pipeline, une unité de calculs flottants, une MMU. De plus les versions -MP intègrent des mémoires caches de niveau 1 (L1) et 2 (L2) et supportent jusqu’à 4 cœurs par clustercite-ref-101[101]. Le cœur RISC-V mis à disposition dans Codasip Studio est destiné à l’apprentissage ou des essaiscite-ref-102[102].

Le concepteur russe Syntacore prévoit de développer, à la demande du conglomérat national Rostec, un processeur RISC-V 8 cœurs en 12nm d'ici à 2025cite-ref-103[103].

Embarqué et microcontrôleurs

Lors du 7e RISC-V workshop, Western Digital a annoncé que la compagnie allait développer des processeurs RISC-V. Le but de Western Digital est d'entamer une transition vers des solutions open-source pour ses serveurs de stockage. À terme, WD espère vendre près de deux milliards de processeurs RISC-V par an.

En 2018, la startup grenobloise fabless GreenWave, présente le GAP8, un processeur basse consommation pour IoT, optimisé pour l'intelligence artificiellecite-ref-104[104].

En 2019, GigaDevice Semiconductor lance la série de microcontrôleurs GD32V, basé sur la version 32 bits de l'architecture. Parmi les 14 déclinaisons, le GD32VF103 est cadencé à 108 MHz et accède à sa mémoire flash intégrée sans wait states (en), donc sans latence. Il comporte 128 Kio de mémoire flash intégrée à la puce, et 32 Kio de SRAM, 2 convertisseurs analogique-numérique 12 bits et 2 numérique-analogique 12 bits, ainsi que différentes interfaces de communications (3 SPI, 2 I2C, 3 USART, 2 UART, 2 I2S, 2 CAN et 1 USB OTG)cite-ref-105[105]. La puce est compatible broche-à-broche avec ses microcontrôleurs GD32 basés sur l'architecture ARMcite-ref-elektroniknet-106-0[106], ainsi que le STM32 de STMicroelectronicscite-ref-107[107], permettant ainsi de porter facilement les applications d'une architecture à l'autrecite-ref-elektroniknet-106-1[106] et également compatible Arduinocite-ref-arduinolib-49-1[49]. Des GD32V sont notamment utilisés dans la carte de développement Sipeed Longan Nano.

Sipeed a également développé la carte Sipeed M1 (ou Kendryte KD233), équipée d'un SoC Kendryte K210 comportant 2 cœurs RISC-V 64 bits et un processeur d'intelligence artificielle. Ces cartes sont prévues pour fonctionner avec FreeRTOScite-ref-108[108]. Cette carte utilise MAIXPy, une version adaptée de MicroPython, programmable via Plateform.IO. Différentes déclinaisons existent, comme MaixDuino, dont la carte à un format compatible avec l'Arduino, et supporte l'IDEcite-ref-109[109]. Il est également possible de l'utiliser avec un système d'exploitation Linux. D'autres versions, plus compactes sont déclinées. En juillet 2021 Canaan sort le Kendryte K510, une version améliorée comportant une partie microprocesseurs composée de 2 cœurs RV64 et un accélérateur composé d'un autre RV64 avec extension DSPcite-ref-110[110].

En 2019, le président des États-Unis, Donald Trump menace de blocage les fournisseurs de Huawei, dont font partie des fondeurs tels que TMSC, et la société britannique ARM, qui fournissaient jusqu'alors l'IP des cœurs utilisés dans les processeurs HiSilicon de Huawei. La société américaine Nvidia ayant racheté au japonais SoftBank les droits sur la société ARM, Huawei a dû trouver une solution de contournement et semble s'être tourné vers RISC-V. Les premiers kits de développements HiHope HiSpark Wifi IoT utilisent un microcontrôleur Hisilicon Hi3518, compatible avec ses nouvelles plateformes, Huawei LiteOS et HarmonyOS. Les compilateurs fournis avec sont des compilateurs GCC à destination de codes d'architecture RISC-V 32 bitscite-ref-cnxhuawei-riscvkit-11-2[11].

En novembre 2020, Espressif annonce, la sortie du ESP32-C3, WiFi & BLE, un processeur dans la lignée de l'ESP32, mais compatible broche à broche avec l'ESP8266, et utilisant l'architecture RISC-V 32 bits au lieu de Xtensa LX6 des ESP32. Il comporte un processeur cryptographique, mais pas de DSP contrairement à l'ESP32cite-ref-111[111]. En juillet 2021, Espressif annonce la disponibilité d'un nouveau modèle de NodeMCU basé sur le processeur ESP32-C3, d'architecture RISC-Vcite-ref-esp32-c3-112-0[112]. L'utilisation du RISC-V apporte de meilleures performances de calcul à fréquence par cœur que l'architecture Tencila Xtensa LX6 ou LX7, à fréquence égale, et apporte un meilleur rapport calcul/consommationcite-ref-113[113]. Le ESP32-S2 puis ESP32-S3 comportaient déjà un coprocesseur ULP (ultra low power) d'architecture RISC-V pour La consommation en veillecite-ref-114[114]. Ce SoC est compatible avec Apache NuttXcite-ref-115[115].

Modules réseaux

OpenWifi, présenté en décembre 2019, est une pile WiFi open source, compatible Linux, qui peut fonctionner sur FPGA, une implémentation fonctionnelle a été effectuée sur FPGA Xilinx, connecté à une carte RF fmcomms2/fmcomms4cite-ref-fpga-wifi-116-0[116]

Les modules BL602/BL604 de Bouffalo Lab, basés sur du RISC-V 32-bit (cœur SiFive E2-Seriescite-ref-bouffalolabsifive-117-0[117]), sont des modules WiFi & Bluetooth 5.0 LE. Sipeed et Pine64 annoncent q'ils vont les intégrer dans leurs cartes à destination de l'IoTcite-ref-118[118], Pine64 crée un Nutcracker challenge afin d'ouvrir les pilotes de la partie sans-fil en novembre 2020cite-ref-119[119]. Ils sont utilisés dans le PineCone de Pine64, tandis que le RV-Debugger et la carte FPGA Tang Nano 4K de Sipeed intègrent les modules BL702, toute la série BL70x de Bouffalo Lab étant également basé sur un cœur RISC-V.

Spatial

L'agence spatiale européenne développe un processeur neuronal baptisé « NOEL-V » et basé sur l'ISA RISC-V et son extension vectorielle (V ou RVVE) utilisant des techniques RHBD (Radiation Hardened By Design), pour les contraintes de l'environnement spatial (température et rayons ionisants), ainsi que les contraintes d'efficacité énergétique, au cœur de satellites. Le projet est mené par Cobham Gaisler, au Centre européen de recherche et de technologie spatiales (ESTEC), qui avait déjà produit en 2019, un processeur similaire appelé « LEON » basé sur l'architecture SPARC-V8 à la fin des années 1990cite-ref-120[120]cite-ref-di-mascio-al2021-121-0[121].

La carte mère NANOhpm-obc développé par la société slovène Skylabs et le CERN et l'ESA, utilise un FPGA résistant aux radiations spatiales et intégrant le softcore NOEL-V de (Cobham Gaisler - CAES)cite-ref-122[122]. Elle est utilisée dans le nanosatellite Trista-R envoyé dans le vol inaugural de la fusée Vega-C, en juillet 2022 et dont le but est de voler dans l'environnement radio-actif de la ceinture de Van Allencite-ref-123[123]cite-ref-124[124]. Le contact avec le satellite était établi avec succès le 4 aoûtcite-ref-125[125].

Divers

Pinecil de Pine64 est un fer à souder à régulation électronique, basé sur un processeur RISC-V RV32IMAC « Bumblebee Core » à 108 MHzcite-ref-126[126].

Sipeed RV-Debugger Plus est un connecteur UART (série) et débugueur JTAG open source, basé sur le SoC Bouffalo Lab BL702, utilisant un microntrôleur RISC-V 32 bits (basés sur les SiFive E2-Seriescite-ref-bouffalolabsifive-117-1[117]) à 144 Mhz, comportant un FPU, un module de chiffrement, l'Audio (I2S master/slave), il gère le Zigbee 6, Bluetooth 5.0 LE, WiFi et ehternet. Le firmware est un logiciel libre, il est également possible de l'utiliser comme carte de développementcite-ref-127[127].

FPGA

ZedBoard et Zybo comportant des FPGA Xilinxcite-ref-riscv-fgpa-70-1[70].

La carte en matériel libre, LicheeTang, de LicheePi, présentée en septembre 2018, carte implémentant de base un microcontrôleur softcore basé sur l'architecture RISC-V et utilisant un FPGA, utilise un Anlogic EG4S20. Elle comporte des GPIO afin de pouvoir y connecter différents types d'éléments électroniquescite-ref-128[128].

La carte Tang Nano FPGA, présentée en octobre 2019, de Sipeed, utilise quant à elle un FPGA GOWIN Semi GW1N de sa famille LittleBee familycite-ref-129[129], la Tang Nano 4K, utilise un Bouffalo BL702 d'architecture RISC-V, comme convertisseur USB à série/JTAG.

La série de cœurs de processeurs Hummingbird E200 (ou HBird E200) est une implémentation chinoise open-source de RISC-V et comprend des implémentations FPGAcite-ref-github-85-1[85].

En décembre 2019, OpenWiFi est présenté. C'est une pile WiFi matérielle et logicielle libre fonctionnant sur FPGA, avec une implémentation sur Xilinxcite-ref-fpga-wifi-116-1[116].

En juin 2020, Efinix propose 3 architectures 32 bits RISCV32I optimisées pour le FPGA Trioncite-ref-130[130]

En juillet 2020, est présentée la carte open-source SAVVY-V basée sur le SOC 64 bits PolarFirecite-ref-aufranc2020-131-0[131]. Le PolarFire SoC Icicle utilise un SoC en FPGA comportant 5 cœurs 64 bits, dont un RV64IMAC et quatre RV64GC et équipé de 2 Gio de RAM LPDDR4, d'abord présenté en décembre 2019, il sort finalement au 3e semestre 2020cite-ref-132[132]. PolarBerry est une variante également proposée en crowdfunding en octobre 2020cite-ref-aufranc2020-131-1[131].

SBC

Différentes cartes de type SBC, et fonctionnant sous Linux, sont présentées à partir de 2018, tentant de se fixer un prix similaire aux populaires Raspberry Pi : La SBC HiFive Unleashed (en) est présentée en février 2018, basée sur un SoC comportant quatre cœurs U54 RV64GC (64 bits) à 1,5 GHz et 8 Gio de RAM ECC de type DDR4, sur la base d'un financement participatifcite-ref-133[133].

Imagination Technologies et le laboratoire RISC-V International Open Source (RIOS) se sont associés pour faire une carte de type SBC appelée PicoRio, dévoilée en septembre 2020 au RISC-V Global Forum, la plateforme est globalement open source, à l'exception de certaines parties essentielles comme les I/O ou les accès mémoirecite-ref-134[134].

En novembre 2020, Sipeed annonce une SBC utilisant un SoC AllWinner, simple cœur, composé d'un XuanTie C906 (RV64GCV) à 1 GHz en 22 nm, fait par les concepteurs du processeur 16 cœurs RISC-V 64 bits, XT910 d'Alibaba, il n'a pas de GPU 3D, mais un GPU 2D, et un décodeur vidéo matériel, H.264 et H.265, de 64 Mio à 256 Mio de RAM soudée (et certains modèles pourraient avoir de la RAM externe), ainsi que des connexions HDMI, ethernet Gb, USB et USB OTGcite-ref-135[135]

En janvier 2021, la SBC BeagleV utilise un SoC StarFive JH7100 comportant un processeur RISC-V double-cœur SiFive U74, un DSP Vision DSP Tensilica-VP6, un moteur NVDLA (architecture ouverte NVIDIA Deep Learning Accelerator) et un moteur de réseau neuronal pour l'accélération d'IA. Sa première déclinaison n'a pas de processeur géométrique 3D, la seconde version comportera un GPU d'Imagination Technologies (donc sans pilote ouvert). Enfin, le SoC comporte un VPU, capable de décoder du H.264 et H.265 jusqu'à 4Kp60, ou bien deux flux en 2Kp30. La carte est équipée de 4 ou 8 Go de RAM en LPDDR4, de 4 ports USB 3.0, d'un port ethernet 10Gb, HDMI 2.0, DSI, deux ISP, un port 40 broches et alimenté par USB-Ccite-ref-136[136]. Deux versions sont mises à disposition, une comportant 4 Go de RAM à 100$ et une avec 8 Go à 150$, les processeurs gravés en 7 nm par TSMC, tournent à 3.5 GHz, sont de type RV64GCVBH (avec notamment une unité vectorielle) et un processeur obtient des performances comparables à celles des ARM Cortex-A76 et A77cite-ref-137[137]cite-ref-138[138]. En mai 2021, est proposé la distribution Fedora comme distribution par défaut, avec les premières cartes disponibles pour les développeurs. XFCE est le gestionnaire de fenêtre par défaut, pouvant s'afficher sur la sortie HDMIcite-ref-139[139].

En février 2021, Pine64, annonce, la sortie d'une SBC de développement, basé sur un SoC comportant un cœur RV64GCV (XuanTie C906) et un second RISC-V 32bit BL602 (ESP32-C), pour la partie réseau sans fil, des pilotes ouverts étant en cours de développement pour celui-ci. Le but étant de se fixer un prix inférieur à 15 (US)$, afin de rendre la plateforme de développement accessible au plus grand nombrecite-ref-140[140].

Ordinateurs portables

L'Académie chinoise des sciences annonce en juin 2021, qu'elle est en train de préparer la sortie de 2 000 ordinateurs portables basés sur des RV64GC d'ici la fin 2022 et pour cela travailler à l'optimisation pour RISC-V des moteurs de Firefox (spiderMonkey et son compilateur à la volée (JIT)) et de Chrome/Chromium (WebKit) afin qu'ils y fonctionnent correctementcite-ref-141[141].

Serveurs

Le groupe Alibaba a conçu le XuanTie 910 (ou XT910), un SoC à destination des serveurs, composé de 16 cœurs RISC-V 64 bits RV64GCV, organisé en grappes de 4 cœurs comportant 32 ou 64 kb de cache de données et autant en cache d'instruction. Le groupe proclame que les performances d'un cœur sont du même ordre que celles d'un ARM Cortex-A73cite-ref-142[142].

Supercalculateurs

L'union européenne a lancé un projet de supercalculateur basé sur l'architecture RISC-V, appelé European Processor Initiative (EPI), financé par le programme EU horizon 2020, développé par 26 partenaires (dont la RISC-V Foundation, le Centro Nacional de Supercomputación (CNS ou BSC), le CEA, Infineon ou encore STMicroelectronics) de 10 pays. Un SoC utilisant l'architecture RISC-V pour les accélérateurs également développés en Europe, a pour but de produire un supercalculateur exascale, ainsi que de fournir le domaine de l'automobile, fondé sur des technologies européennes. L'utilisation d'architecture ARM comme processeur principal est envisagée mais pas certaine. Dans ce cas, RISC-V se limiterait aux accélérateurs de calcul. Le projet cherche à réutiliser les systèmes existants (déjà implémentés sous GNU/Linux)cite-ref-143[143].

Annexes

Notes et références

cite-note-elecweek15newspec-11. mannersdavid-manners(en) David Manners, « RISC-V reviews progress », sur Electronics Weekly, 6 décembre 2021
cite-note-22. (en) « RISC-V: An Open Standard for SoCs », EETimes (consulté le 17 août 2014)
cite-note-history-33. armasulucian-armasu(en) Lucian Armasu, « Big Tech Players Start To Adopt The RISC-V Chip Architecture », sur Tom's Hardware, 29 novembre 2017
cite-note-nvidia-risc-v-44. armasulucian-armasu(en) Lucian Armasu, « Nvidia Job Listings Point to Ambitious RISC-V Plans », sur Tom's Hardware, 10 octobre 2019
cite-note-55. wongwilliam-g-wong(en) William G. Wong, « The Rise of RISC-V on Display at Workshop », sur ElectronicDesign, 5 décembre 2017
cite-note-66. williamschris-williams(en) Chris Williams, « Up in arms! Arm kills off its anti-RISC-V smear site after own staff revolt », sur The Register, 10 juillet 2018
cite-note-77. hruskajoel-hruska(en) Joel Hruska, « ARM Kills Its RISC-V FUD Website After Staff Revolt », sur ExtremeTech, 12 juillet 2018
cite-note-88. mottnathaniel-mott(en) Nathaniel Mott, « TSMC Doesn't Want to Make Its Chips in the US », sur Tom's Hardware, 1er novembre 2019
cite-note-risc-v-move-99. mottnathaniel-mott(en) Nathaniel Mott, « Report: RISC-V Plans to Move From the US to Switzerland », sur Tom's Hardware, 26 novembre 2019
cite-note-1010. « RISC V déménage en Suisse pour échapper à la guerre commerciale sino-américaine », sur 01Net
cite-note-cnxhuawei-riscvkit-1111. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « Hi3861 based HiSpark WiFi IoT development board supports LiteOS and HarmonyOS », sur CNX-Software, 12 octobre 2020
cite-note-1212. halfacreegareth-halfacree(en) Gareth Halfacree, « René Rebe Patches the Linux Kernel for "World's First" Look at a Radeon RX 6700XT on a RISC-V PC », sur hackster.io, 21 juillet 2021
cite-note-1313. (en) « New Vector, Scalar Cryptography and Hypervisor specifications will help accelerate the adoption of RISC-V across a variety of market segments. », sur RISC-V.org, 2 décembre 2021
cite-note-1414. browneric-brownEric Brown, « Two 64-bit RISC-V cores debut: StarFive Dubhe and CAS Nanhu », sur LinuxGizmos.com, 8 décembre 2021
cite-note-1515. (en) « Pine64 Star64 SBC with StarFive JH7110 RISC-V SoC with GPU to launch for $69.99 and up », sur CNX Software, 2 avril 2023
cite-note-1616. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « Lichee Pi 4A RISC-V SBC takes on Raspberry Pi 4 with TH1520 processor », sur CNX-Software, 6 mai 2023
cite-note-1717. hillash-hill(en) Ash Hill, « Lichee Pi 4A RISC-V Desktop Gets Unboxed, Offers Strong Linux Performance », sur Tom's Hardware, 20 août 2023
cite-note-1818. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « BeagleV-Ahead quad-core RISC-V SBC offers BeagleBone Capes compatibility », sur CNX-Software, 13 juillet 2023
cite-note-1919. « Re: [PATCH 1/9] dt-bindings: display: Add yamls for JH7110 display subsystem », sur Lore.kernel.org, 7 juin 2023
cite-note-2020. (en) « [PATCH v4 6/7] riscv: dts: sophgo: add initial CV1812H SoC device tree », sur lkml.org, 18 octobre 2023
cite-note-2121. canonical(en) Canonical, « Canonical enables Ubuntu on StarFive’s VisionFive 2 RISC-V single board computer », sur Ubuntu.com, 10 mai 2023
cite-note-2222. (en) « Kendryte K230 RISC-V64 Board - CANMV-K230 », sur Hackster.io, 19 octobre 2023
cite-note-2323. shahagam-shah(en) Agam Shah, « China Deploys Massive RISC-V Server in Commercial Cloud », sur HPC Wire, 8 novembre 2023
cite-note-2424. (en) « European Processor Initiative announces the successful bring-up of the EPAC1.5 acceleration chip », sur European Processor Initiative
cite-note-2525. cardondaniel-cardonDaniel Cardon, « Semidynamics : cœurs RISC-V IP entièrement personnalisables et indépendants du processus », sur ECI News, 18 avril 2023
cite-note-2626. (en) « BOOM Open Source RISC-V Core Runs on Amazon EC2 F1 Instances », sur CNX Software, 13 décembre 2018
cite-note-2727. (en) « RISC-V SBI specification », sur Compte RISC-V-non-ISA sur Github
cite-note-2828. (en) « RISC-V Open Source Supervisor Binary Interface (OpenSBI) », sur compte RISC-V-Software-src sur GitHub
cite-note-cnx-rvexplained-2929. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « RISC-V Bases and Extensions Explained », sur CNX-Software, 27 août 2019
cite-note-watermanasanovi-2019151-3030. Waterman et Asanović 2019, p. 151.
cite-note-3131. scheeljeff-scheel(en) Jeff Scheel, « Recently Ratified Extensions », sur RISC-V.org, 23 février 2023
cite-note-introdzone-3232. ledinjim-ledinJim Ledin, « The RISC-V Architecture », sur DZone, 5 juin 2020
cite-note-3333. watermanasanovi-2017andrew-watermankrste-asanovi-2017(en) Andrew Waterman et Krste Asanović, The RISC-V Instruction Set ManualVolume I: User-Level ISA Document Version 2.2, CS Division, EECS Department, University of California, Berkeley, 2017 (lire en ligne), p. 27
cite-note-rv64isa-3434. 2019(en) chap. 5 « RV64I Base Integer Instruction Set, Version 2.1 », dans RISC-V Instruction Set Manual, Volume I: RISC-V User-Level ISA , 20191214- December 2019, décembre 2019 (lire en ligne)
cite-note-3535. (en) « RV32E », sur Five-embeddev.com
cite-note-vector-extension-3636. (en) RISC-V "V" Vector Extension (lire en ligne)
cite-note-3737. peddiejon-peddie(en) Jon Peddie, « RV64X: A Free, Open Source GPU for RISC-V », sur EETimes, 27 janvier 2021
cite-note-3838. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « Think Silicon NEOX|V is the First RISC-V ISA based GPU », sur CNX-Software, 4 décembre 2019
cite-note-tine-al2021vortex-3939. Tine & Al 2021.
cite-note-4040. (en) « Kazan », sur salsa.debian.org
cite-note-4141. (en) « Download - RISC-V », sur riscv.org consulté le=17 août 2014
cite-note-4242. daleidenalicia-daleidenAlicia Daleiden, « Rust Comes to RISC-V », sur Riscv.org, 28 novembre 2017
cite-note-4343. backandrew-backAndrew Back, « Rust Comes to RISC-V », sur ABopen, 28 novembre 2017
cite-note-4444. « Bronzebeard — bronzebeard 0.1.15 documentation », sur readthedocs.io (consulté le 1er octobre 2021).
cite-note-4545. (en) « Minimal ecosystem for bare-metal RISC-V development in python », sur Python Awesome.com, 29 juin 2021
cite-note-4646. (en) « GitHub - theandrew168/derzforth : Bare-metal Forth implementation for RISC-V », sur GitHub (consulté le 1er octobre 2021).
cite-note-4747. « [base] Revision 295041 », sur svnweb.freebsd.org (consulté le 29 janvier 2016)
cite-note-4848. « RISC-V Poster Preview — 7th RISC-V Workshop », 28 novembre 2017 (consulté le 17 décembre 2018)
cite-note-arduinolib-4949. (en) « Gd32v », sur Arduinolibraries.info
cite-note-5050. (en) « Zephyr », sur RISC-V getting started guide (sur readthedocs.io)
cite-note-5151. (en) « Minimum Supported Rust Version (MSRV) », sur Comtpe Rust embedded sur Github
cite-note-5252. sur-githuboscourse-tsinghua-sur-github(en) oscourse-tsinghua sur Github, « rCore »
cite-note-5353. (en) « RISC-V is an open source instruction set architecture paving the way for the next 50 years of computing design and innovation. », sur tessentembeddedanalytics.com
cite-note-5454. (en) « Ghidra Software Reverse Engineering Framework », sur Github
cite-note-5555. 2020(en) « "ghidra/Ghidra/Processors at Ghidra_9.2_build" », sur Code siource de Ghidra sur Github, 13 novembre 2020 (consulté le 21 novembre 2020)
cite-note-5656. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « Android 10 ported to RISC-V board powered by Alibaba T-Head XuanTie C910 Processor », sur CNX-Software, 22 janvier 2021
cite-note-5757. (en) « RISC-V », sur Debian.org
cite-note-5858. yanfelix-yan(en) Felix Yan, « Arch Linux RISC-V », sur archriscv.felixc.at
cite-note-5959. (en) « Architectures/RISC-V - Fedora Project Wiki », sur fedoraproject.org (consulté le 1er octobre 2021).
cite-note-6060. (en) « Ubuntu 20.04/21.04 64-bit RISC-V released for QEMU, HiFive boards », sur CNX Software, 28 juin 2021
cite-note-6161. (en) « GitHub - riscv/meta-riscv : OpenEmbedded/Yocto layer for RISC-V Architecture », sur GitHub (consulté le 1er octobre 2021).
cite-note-mcgrewnelson2019-6262. McGrew et Nelson 2019.
cite-note-6363. « Riscv - FreeBSD Wiki », sur freebsd.org (consulté le 1er octobre 2021).
cite-note-6464. (en) « OpenBSD 7.0 », sur openbsd.org, 14 octobre 2021
cite-note-6565. 2021(en) « My Haiku RISC-V port progress », sur Haiku Community, 20 avril 2021 (consulté le 1er octobre 2021).
cite-note-6666. « RISC-V on Edge: Porting EVE and Alpine Linux to RISC-V », sur Slideshare.net
cite-note-6767. 2021(en) « My progress on real RISC-V hardware », sur Haiku Community, 17 juillet 2021 (consulté le 1er octobre 2021).
cite-note-6868. « Unmatched RISCV Desktop! Now w/ AMD Radeon graphic, X.org server! Full T2 Linux install! » [vidéo], sur YouTube (consulté le 1er octobre 2021).
cite-note-6969. shilovanton-shilov(en) Anton Shilov, « World's first RISC-V handheld gaming system announced — retro gaming platform uses Linux », sur Tom's Hardware, 20 décembre 2023
cite-note-riscv-fgpa-7070. (en) « Getting Started with RISC-V », sur riscv.org (consulté le 17 août 2014), archive
cite-note-7171. (en) « riscv-tools », sur riscv.org (consulté le 11 juillet 2016)
cite-note-7272. (en) « ChangeLog/2.12 - RISC-V », sur qemu
cite-note-7373. (en) « QEMU System Emulation User’s Guide », qemu (consulté le 31 janvier 2021)
cite-note-7474. (en) « My Haiku RISC-V port progress », sur Haiku-os.org
cite-note-7575. a3f(en) a3f, « bareDOOM », sur BareDoom sur Github
cite-note-7676. (en) « JuiceVm », sur compte juiceRv sur Github
cite-note-7777. (en) « Linux 5.0 shown to boot on ESP32 processor », sur CNX-Software, 18 juillet 2021
cite-note-7878. (en) « riscv-rust », sur Github
cite-note-7979. jadhavabhishek-jadhavAbhishek Jadhav, « WARP-V: A RISC-V CPU Core Generator Supporting MIPS ISA », sur CNX-Software
cite-note-8080. « The NEORV32 RISC-V Processor »
cite-note-8181. (en) « The NEORV32 Processor (RISC-V) », sur OpenCores.org
cite-note-8282. « The NEO430 Processor », sur Github
cite-note-8383. halfacreegareth-halfacree(en) Gareth Halfacree, « Chinese chip designers hope to topple Arm's Cortex-A76 with XiangShan RISC-V design Permissively licensed, the processor's second iteration targets 2GHz at 14nm », sur The Register, 6 juillet 2021
cite-note-8484. (en) « PicoRV32 - A Size-Optimized RISC-V CPU », sur GitHub
cite-note-github-8585. (en + zh) « Hummingbird E200 Opensource Processor Core », sur GitHub.
cite-note-8686. (en) « Hummingbird E203v2 »
cite-note-8787. (en) « Nuclei ISA SPEC », sur nucleisys.com
cite-note-8888. (en) « GD32VF103 SoC », sur Nucleisys.com
cite-note-8989. « Codasip facilite les implémentations matérielles du cœur open source RISC-V SweRV Core de Western Digital », sur www.lembarque.com (consulté le 20 mai 2021)
cite-note-9090. « Codasip étend la prise en charge des cœurs RISC-V SweRV de Western Digital à des modèles conçus pour l'embarqué », sur www.lembarque.com (consulté le 20 mai 2021)
cite-note-9191. « OpenXiangShan/XiangShan », sur Compte OpenXiangShan sur Github
cite-note-9292. (zh) 包云岗, « 首届 RISC-V 中国峰会 2021 年 6 月 21 日起在上海举行,有什么值得关注的地方? », sur 知乎
cite-note-xiangshan-9393. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « XiangShan open-source 64-bit RISC-V processor to rival Arm Cortex-A76 », sur CNX-Software, 5 juillet 2021
cite-note-9494. (en) « Chinese Academy of Sciences released the domestic RISC-V processor "Xiangshan", which has successfully run Linux, and will be released in July », sur min.news, 2 juillet 2021
cite-note-9595. (en) « Alibaba Announces Open Source RISC-V-Based Xuantie Series Processors », sur pandaily.com, 19 octobre 2019
cite-note-9696. (en) « T-Head Semiconductor Co., Ltd. », sur GitHub (consulté le 8 avril 2023).
cite-note-9797. hemsothnicole-hemsoth(en) Nicole Hemsoth, « Startup Takes a Risk on RISC-V Custom Silicon », sur The Next Platform, 11 juillet 2016
cite-note-9898. allanalasdair-allanAlasdair Allan, « Is RISC-V Finally Taking Off? », sur Hacksters.io, 19 février 2018
cite-note-9999. (en) « Processors », sur shakti.org.in
cite-note-100100. (en) « Codasip Joins RISC-V Foundation and Announces Availability of RISC-V Compliant Codix Processor IP », sur Design And Reuse (consulté le 20 mai 2021)
cite-note-101101. 2020« Codasip lance 3 processeurs RISC‑V multicoeurs pour IA Edge », sur Electronique-ECI, 8 décembre 2020 (consulté le 20 mai 2021)
cite-note-102102. « Codasip offre la possibilité de s’exercer sur une implémentation réelle de processeur RISC-V », sur www.lembarque.com (consulté le 20 mai 2021)
cite-note-103103. ian-cutressdr-ian-cutress(en) Dr. Ian Cutress, « Russia To Build RISC-V Processors for Laptops: 8-core, 2 GHz, 12nm, 2025 », sur Anandtech, 14 juillet 2021
cite-note-104104. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « GreenWaves GAP8 is a Low Power RISC-V IoT Processor Optimized for Artificial Intelligence Applications », sur CNX-Software, 27f évrier 2018
cite-note-105105. semiconductor-inc2019gigadevice-semiconductor-inc2019(en) GigaDevice Semiconductor Inc, GD32VF103 User Manual, octobre 2019, 533 p. (lire en ligne)
cite-note-elektroniknet-106106. steizergerhard-steizerGerhard Steizer, « RISC-V for everybody », sur Elektronknet.de, 4 septembre 2019
cite-note-107107. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « GigaDevice GD32 is a Faster, Software and Pin-to-pin STM32 Compatible Cortex M3 MCU », sur CNX-Software, 21 décembre 2015
cite-note-108108. benchoffbrian-benchoff(en) Brian Benchoff, « New Part Day: The RISC-V Chip With Built-In Neural Networks », sur Hack a Day, 8 octobre 2018
cite-note-109109. kadionik2021kadionik-patrice2021Kadionik Patrice, « Maixduino : faites de l’IA sur un processeur RISC-V », Hackable, no 36 mois=janvier,‎ 2021 (lire en ligne)
cite-note-110110. (en) « Kendryte K510 tri-core RISC-V AI processor deliver up to 3 TOPS », sur CNX Software, 9 juillet 2021
cite-note-111111. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « ESP32-C3 WiFi & BLE RISC-V processor is pin-to-pin compatible with ESP8266 », sur CNX-Software, 22 novembre 2020
cite-note-esp32-c3-112112. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « NodeMCU ESP32-C3 WiFi & BLE IoT boards show up for about $4 », sur CNX-Software, 12 juillet 2021.
cite-note-113113. williamselliot-williams(en) Elliot Williams, « Hands-On: The RISC-V ESP32-C3 Will Be Your New ESP8266 », sur Hackaday, 8 février 2021
cite-note-114114. (en) ESP32-S2 Datasheet (lire en ligne), p. 28
cite-note-115115. (en) « Nuttx/arch/risc-v/src/esp32c3 at master · apache/nuttx », sur GitHub (consulté le 8 avril 2023).
cite-note-fpga-wifi-116116. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « OpenWiFi Open-Source Linux-compatible WiFi Stack Runs on FPGA Hardware », sur CNX-Software, 16 décembre 2019
cite-note-bouffalolabsifive-117117. (en) « Bouffalo Lab Standardizes on SiFive RISC-V Embedded CPU Core IP for New IoT Products », sur Design & Reuse, 18 novembre 2020
cite-note-118118. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « BL602/BL604 RISC-V WiFi & Bluetooth 5.0 LE SoC will sell at ESP8266 price point », sur CNX-Software
cite-note-119119. listjenny-list(en) Jenny List, « New Part Day: Bouffalo Labs BL602 RISC-V Wi-Fi/Bluetooth SoC », sur Hackaday, 20 novembre 2020
cite-note-120120. halfacreegareth-halfacree(en) Gareth Halfacree, « Deep neural networks... IN SPAAACE: Vector-enhanced RISC-V chips could give satellites onboard », sur The Register, 1er juillet 2021
cite-note-di-mascio-al2021-121121. Di Mascio & Al 2021.
cite-note-122122. (en) « NANOhpm-obc - High performance RISC-V fault tolerant on-board computer », sur Skylabs.si
cite-note-123123. 2022(en) « Trisat-R », sur The European Space Agency, 11 juillet 2022
cite-note-124124. (en) « TRISAT-R ready to fly in French Guiana », sur Université de Maribor, 17 juin 2022
cite-note-125125. perraultd-sir-e-perraultDésirée Perrault, « Contact établi avec succès avec le satellite Trisat-R », sur LGF Online, 4 août 2022
cite-note-126126. halfacreegareth-halfacree(en) Gareth Halfacree, « Pine Opens Orders for Its RISC-V-Powered Pinecil Smart Soldering Iron — with Free Breakout Board », sur Hackster.io, 25 novembre 2020
cite-note-127127. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « $3.5 RV-Debugger Plus UART & JTAG debug board comes with BL702 Zigbee & BLE RISC-V SoC », sur CNX-Software, 21 juin 2021
cite-note-128128. (en) « LicheeTang Anlogic EG4S20 FPGA Board Targets RISC-V Development », sur CNX Software, 4 septembre 2018
cite-note-129129. « $5 Tang Nano FPGA Board Features GOWIN GW1N “LittleBee” FPGA », sur CNX Software, 15 octobre 2019
cite-note-130130. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « Efinix Releases Three RISC-V Software-Defined SoC’s Optimized for Trion FPGA’s », sur Cnx-Software, 6 juin 2020
cite-note-aufranc2020-131131. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « PolarBerry is a Compact, Linux-capable RISC-V FPGA SBC and module (Crowdfunding », sur CNX Software, 5 juillet 2020.
cite-note-132132. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « PUpcoming SAVVY-V Open Source RISC-V Cluster Board Supports 10GbE via Microsemi PolarFire 64-bit RISC-V SoC », sur CNX Software, 20 juillet 2020
cite-note-133133. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « SiFive Introduces HiFive Unleashed RISC-V Linux Development Board (Crowdfunding) », sur CNX Software, 4 février 2018
cite-note-134134. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « PicoRio Linux RISC-V SBC is an Open Source Alternative to Raspberry Pi Board », sur CNX-Software, 4 septembre 2020
cite-note-135135. aufrancjean-luc-aufrancJean-Luc Aufranc, « XuanTie C906 based Allwinner RISC-V processor to power $12+ Linux SBC’s », sur CNX-Software, 9 novembre 2020
cite-note-136136. aufrancjean-luc-aufrancJean-Luc Aufranc, « $119+ BeagleV powerful, open-hardware RISC-V Linux SBC targets AI applications », sur CNX-Software, 13 janvier 2021
cite-note-137137. machloe-ma(en) Chloe Ma, « RISC-V Star Rising from the East – Introducing StarFive », sur riscv.org, 1er mars 2021
cite-note-138138. (zh) « 重磅|赛昉科技发布全球性能最强的RISC-V 天枢系列处理器内核 », sur Compte Starfive sur Weixin,‎ 10 décembre 2020
cite-note-139139. techstarfive-tech(en) Starfive Tech, « BeagleV Starlight RISC-V Fedora image », sur Gihtub
cite-note-140140. pine64(en) PINE64, « February Update: Show and Tell », sur Pine64.org
cite-note-141141. halfacreegareth-halfacree(en) Gareth Halfacree, « China's ISCAS to build 2,000 RISC-V laptops by the end of 2022 as nation seeks to cut reliance on Arm, Intel chips », sur The Register, 8 juin 2021.
cite-note-142142. aufrancjean-luc-aufranc(en) Jean-Luc Aufranc, « More Details about Alibaba XT910 64-bit RISC-V Core », sur CNX Software, 25 août 2020
cite-note-143143. (en) « How the European Processor Initiative is Leveraging RISC-V for the Future of Supercomputing », sur Inside HPC, 22 août 2019

Bibliographie en ligne

• (en) « Specifications », sur riscv.org

• watermanasanovi-2019andrew-watermankrste-asanovi-2019(en) Andrew Waterman et Krste Asanović, The RISC-V Instruction Set Manual — Volume I: Unprivileged ISA, CS Division, EECS Department, University of California, Berkeley, décembre 2019 (lire en ligne)
• watermanasanovi-2019andrew-watermankrste-asanovi-2019(en) Andrew Waterman et Krste Asanović, The RISC-V Instruction Set Manual — Volume II: Privileged Architecture, CS Division, EECS Department, University of California, Berkeley, juin 2019 (lire en ligne)

• asanovi-patterson2014krste-asanovi-david-patterson2014(en) Krste Asanović (en) et David Patterson, Instruction Sets Should Be Free: The Case For RISC-V, Electrical Engineering and Computer SciencesUniversity of California at Berkeley, août 2014 (présentation en ligne, lire en ligne)
• (Obsolète) The RISC-V Instruction Set HotChips 25 (2013)
• The RISC-V Software Ecosystem HPCA 2015, Tutorial
• lee2015yunsup-lee2015Yunsup Lee, RISC-V “Rocket Chip” SoC Generator in Chisel, UC Berkeley, HPCA, 2015 (lire en ligne)
• d0iasm(en) d0iasm, Writing a RISC-V Emulator in Rust (lire en ligne) (source)
• hiroakiakinori2020hiroaki-kanekoakinori-kanasugi2020(en) Hiroaki Kaneko et Akinori Kanasugi, An integrated machine code monitor for a RISC-V processor on an FPGA, SpringerLink, 2020 (ISSN 1614-7456, OCLC 1196515116)
• geier2020johannes-geier2020(en) Johannes Geier, Fast RTL-based fault injection framework for RISC-V cores, München, Masterarbeit Technische Universität, 2020 (OCLC 1193312286)
• development-team2020shakti-development-team2020(en) SHAKTI Development Team, RISC-V Assembly Language: Programmer Manual Part I, Madras, SHAKTI Development Team, 2020 (lire en ligne)
• di-mascio-al2021stefano-di-mascio-alessandra-menicucci-eberhard-gill-gianluca-furano-et-claudio-monteleone2021(en) Stefano Di Mascio, Alessandra Menicucci, Eberhard Gill, Gianluca Furano et Claudio Monteleone, « On-Board Decision Making in Space with Deep Neural Networks and RISC-V Vector Processors », Journal of Aerospace Information Systems,‎ juin 2021 (e-ISSN 2327-3097, DOI 10.2514/1.I010916, présentation en ligne, lire en ligne)
• vortex(en) Blaise Tine, Fares Elsabbagh, Krishna Yalamarthy, Hyesoon Kim, « Vortex: Extending the RISC-V ISA for GPGPU and 3D-Graphics Research », MICRO,‎ octobre 2021, p. 754–766 (ISBN 978-1-4503-8557-2, DOI 10.1145/3466752.3480128, lire en ligne)

Bibliographie papier

Ouvrages

• waterman2016andrew-shell-waterman2016(en) Andrew Shell Waterman, Design of the RISC-V Instruction Set Architecture, Berkeley, CA, 2016 (OCLC 957714390) (dissertation pour un Ph. D. in Computer Science University of California, Berkeley 2016)
• hennessypatterson2017john-l-hennessydavid-a-patterson2017(en) John L. Hennessy et David A. Patterson, Computer Organization and Design RISC-V Edition, Morgan Kaufmann, avril 2017, 696 p. (ISBN 978-0-12-812275-4 et 978-0-12-812276-1)
• hu20182018(zh-Hans) 胡振波, 手把手教你设计CPU:RISC-V处理器篇, 北京, 人民邮电出版社,‎ mai 2018, 480 p. (ISBN 978-7-115-48052-1, présentation en ligne)
• pattersonwaterman2018david-a-patterson-andrew-waterman-2018(ja) デイビッド・パターソン (David A Patterson) et アンドリュー・ウォーターマン (Andrew Waterman) (trad. 成田光彰 (Narita)), RISC-V原典 (リスクファイブ原典) : オープン・アーキテクチャのススメ, 日経BP,‎ 2018, 224 p. (ISBN 978-4-822292-812)
• kuetche-saadeu2019ga-tan-kuetche-saadeu2019Gaétan Kuetche Saadeu, Conception d'un microcontrôleur multi-cores à cœurs RISC-V Initiation à la conception d'un microcontrôleur exploitant les Shields de l'Arduino, Saarbrücken, Éditions universitaires européennes, 2019 (ISBN 9786139502493)
• hennessypatterson2019john-l-hennessydavid-a-patterson2019(en) John L Hennessy et David A Patterson, Computer architecture : a quantitative approach, Cambridge, Massachussetts, Elsevier, coll. « Morgan Kaufmann series in computer architecture and design », 2019 (ISBN 9780128119068)
• hu20192019(zh-Hans) 胡振波, RISC-V架构与嵌入式开发快速入门, 北京, 人民邮电出版社,‎ 2019, 354 p. (ISBN 9787115494139)
• hu20212021(zh) 胡振波, RISC-V CPU, vol. 上 : 处理器设计 CPU自主设计 嵌入式开发 蜂鸟E200系列芯片, 北京, 人民邮电出版社,‎ 2021, 376 p. (ISBN 9787115568007)
• hu20212021(zh) 胡振波, RISC-V CPU, vol. 下 : 工程与实践, 北京, 人民邮电出版社,‎ 2021, 284 p. (ISBN 9787115569493)
• dos-reis2019anthony-j-dos-reis2019(en) Anthony J Dos Reis, RISC-V assembly language, États-Unis, 2019, 149 p. (ISBN 9781088462003)
• ledin2020jim-ledin2020(en) Jim Ledin, Modern Computer Architecture and Organization : Learn X86, ARM, and RISC-V Architectures and the Design of Smartphones, PCs, and Cloud Servers, Birmingham, Packt Publishing, 2020 (ISBN 978-1-838987-107)
• muchandi2020shruthi-k-muchandi2020Shruthi K Muchandi, Enabling Accelerator-SoC Co-design Using RISC-V Chipyard, Charlotte, The University of North Carolina, 2020 (ISBN 9781392495506)
• chen2020jing-chen2020(en) Jing Chen, Hardware acceleration for elementary functions and RISC-V processor, Montréal, McGill University Libraries, 2020 (OCLC 1199006597)
• herdtgro-edrechsler2021vladimir-herdtdaniel-gro-erolf-drechsler2021(en) Vladimir Herdt, Daniel Große et Rolf Drechsler, Enhanced Virtual Prototyping: Featuring RISC-V Case Studies, Cham, Springer, 2021 (ISBN 978-3-030-54827-8, DOI 10.1007/978-3-030-54828-5)
• mcgrewnelson2019zachary-mcgrewphilip-a-nelson2019(en) Zachary McGrew et Philip A. Nelson, Porting NetBSD to the RISC-V, Western Washington University Computer Science Department, 2019 (lire en ligne)
• wang20222022(zh) 王浩然, 计算机系统基础:C语言视角(RISC-V 版),‎ octobre 2022, 195 p. (ISBN 978-7-115-56511-2)

Magazine

• kadionik2021kadionik-patrice2021Kadionik Patrice, « Maixduino : faites de l’IA sur un processeur RISC-V », Hackable, no 36,‎ janvier 2021 (lire en ligne)

Liens externes

• http://riscv.org/ — Site officiel
• http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-146.pdf — Jeu d'instruction de RISC-V et comparaisons avec d'autres architectures similaires.
• https://riscv.org/software-tools/riscv-angel/ — ANGEL, simulateur HTTP de jeu d'instruction RISC-V
• (en) « Analyzing the RISC-V Instruction Set Architecture », sur Adapteva — comparaison entre l'architecture RISC-V (version 32 bits) et l'architecture Adapteva.
• (en) « RISC-V », sur wiki.debian.org Port de Debian sur RISC-V
• (en) « RISC-V Cores and SoC Overview », sur Awesome Open Source — Liste d'implémentations

• Portail de l’informatique
• Portail de l’électricité et de l’électronique
• Portail des logiciels libres